package com.example.newnoke.utils;

import android.content.Context;
import android.content.DialogInterface;
import android.support.v7.app.AlertDialog;

import java.util.Date;


/**
 * Created by Administrator on 2016/9/1.
 */
public class MyDialogTool {


    /**
     *   等待弹窗
     * @param context 上下文
     * @param hint    提示内容
     * @return 对话框对象
     */
//      public static SweetAlertDialog DengDai(Context context, String hint){
//          SweetAlertDialog pDialog=null;
//          pDialog = new SweetAlertDialog(context, SweetAlertDialog.PROGRESS_TYPE);
//          pDialog.getProgressHelper().setBarColor(context.getResources().getColor(R.color.alertDialog_Progress_Color));
//          pDialog.getProgressHelper().setBarWidth(5);
//          pDialog.getProgressHelper().setCircleRadius(80);
//          pDialog.getProgressHelper().setRimColor(context.getResources().getColor(R.color.alertDialog_Progress_hintColor));
//          pDialog.getProgressHelper().setRimWidth(5);
//          pDialog.setTitleText(hint);
//          pDialog.setCancelable(true);
//          return pDialog;
//      }

    /**
     * 提示对话框
     *
     * @param context
     * @param title
     * @param hint
     * @param onClickListener
     * @return
     */
    public static AlertDialog.Builder TiShi(Context context, String title, String hint, DialogInterface.OnClickListener onClickListener, DialogInterface.OnClickListener quxiao) {
        AlertDialog.Builder ab = new AlertDialog.Builder(context);
        ab.setTitle(title).
                setMessage(hint).
                setNegativeButton("暂不", quxiao)
                .setPositiveButton("更新", onClickListener)
                .create();
        ab.show();
        return ab;
    }


    /**
     * 提示对话框
     *
     * @param context
     * @param title
     * @param hint
     * @param onClickListener
     * @return
     */
    public static AlertDialog.Builder TiShi(Context context, String title, String hint, String btnNmae, String btnNmae2, DialogInterface.OnClickListener onClickListener, DialogInterface.OnClickListener quxiao) {
        AlertDialog.Builder ab = new AlertDialog.Builder(context);
        ab.setTitle(title).
                setMessage(hint).
                setNegativeButton(btnNmae2, onClickListener)
                .setPositiveButton(btnNmae, quxiao)
                .create();

        return ab;
    }

    /**
     * 列表对话框
     *
     * @param context
     * @param title
     * @param hint
     * @param onClickListener
     * @return
     */
    public static AlertDialog.Builder LieBiao(Context context, String title, String hint, String[] arr, DialogInterface.OnClickListener onClickListener) {
        AlertDialog.Builder ab = new AlertDialog.Builder(context);
        ab.setTitle(title)
                .setItems(arr, onClickListener)
                .setNegativeButton("取消", null)
                .create();

        return ab;
    }

    /**
     * 多选列表对话框
     *
     * @param context
     * @param title
     * @return
     */
    public static AlertDialog.Builder Fuxuan(Context context, String title, String[] arr, String[] arr2, DialogInterface.OnMultiChoiceClickListener fuxuan, DialogInterface.OnClickListener queding) {
        AlertDialog.Builder ab = new AlertDialog.Builder(context);
        ab.setTitle(title)
                .setMultiChoiceItems(arr, null, fuxuan)
                .setPositiveButton("确定", queding)
                .setNegativeButton("取消", null)
                .create();

        return ab;
    }


//    /**
//     *
//     *    时间选择器
//     * @param context 上下文对象
//     * @param onTimeSelectListener 选择完成后的回调
//     * @return
//     */
//    public static TimePickerView ShiJianXuanZhe(Context context, TimePickerView.OnTimeSelectListener onTimeSelectListener){
//
//        TimePickerView pvTime = new TimePickerView(context, TimePickerView.Type.YEAR_MONTH_DAY);
//        //控制时间范围
////        Calendar calendar = Calendar.getInstance();
////        pvTime.setRange(calendar.get(Calendar.YEAR) - 20, calendar.get(Calendar.YEAR));//要在setTime 之前才有效果哦
//        pvTime.setTime(new Date());
//        pvTime.setCyclic(false);
//        pvTime.setCancelable(true);
//        pvTime.setOnTimeSelectListener(onTimeSelectListener);//设置选择完成后的回调 返回选择结果
//        return pvTime;
//    }

//    /**
//     *
//     *    时间选择器
//     * @param context 上下文对象
//     * @param onTimeSelectListener 选择完成后的回调
//     * @return
//     */
//    public static TimePickerView ShiJianXuanZhe(Context context, TimePickerView.OnTimeSelectListener onTimeSelectListener, String s){
//
//        TimePickerView pvTime = new TimePickerView(context, TimePickerView.Type.ALL);
//        //控制时间范围
////        Calendar calendar = Calendar.getInstance();
////        pvTime.setRange(calendar.get(Calendar.YEAR) - 20, calendar.get(Calendar.YEAR));//要在setTime 之前才有效果哦
//        pvTime.setTime(new Date());
//        pvTime.setCyclic(false);
//        pvTime.setCancelable(true);
//        pvTime.setOnTimeSelectListener(onTimeSelectListener);//设置选择完成后的回调 返回选择结果
//        return pvTime;
//    }

//    /**
//     *
//     *    时间选择器
//     * @param context 上下文对象
//     * @param onTimeSelectListener 选择完成后的回调
//     * @return
//     */
//    public static TimePickerView ShiJianXuanZhe(Context context, TimePickerView.OnTimeSelectListener onTimeSelectListener, String s, String s2){
//
//        TimePickerView pvTime = new TimePickerView(context, TimePickerView.Type.YEAR_MONTH);
//        //控制时间范围
////        Calendar calendar = Calendar.getInstance();
////        pvTime.setRange(calendar.get(Calendar.YEAR) - 20, calendar.get(Calendar.YEAR));//要在setTime 之前才有效果哦
//        pvTime.setTime(new Date());
//        pvTime.setCyclic(false);
//        pvTime.setCancelable(true);
//        pvTime.setOnTimeSelectListener(onTimeSelectListener);//设置选择完成后的回调 返回选择结果
//        return pvTime;
//    }


//    public static OptionsPickerView ChengShi(Context context){
//        OptionsPickerView optionsPickerView=new OptionsPickerView(context);
//       final ArrayList<ProvinceBean> options1Items = new ArrayList<>();
//     final ArrayList<ArrayList<String>> options2Items = new ArrayList<>();
//        //获取数据源
//        ChengShiDatas data;
//        Gson gson=new Gson();
//        data=gson.fromJson(ChengShiString.json,ChengShiDatas.class);
//
//        final List<ChengShiDatas.CitylistBean> data1=data.getCitylist();
//
//        for (int i1 = 0; i1 < data1.size(); i1++) {
//            System.out.println("!!!!!!!!!!!!!!!!!!!!!!!!!! "+data1.get(i1).getP());
//            options1Items.add(new ProvinceBean(i1,data1.get(i1).getP(),"",""));
//            List<ChengShiDatas.CitylistBean.CBean> erji=data1.get(i1).getC();
//            ArrayList<String> options2Items_01=new ArrayList<>();
//            for (int i2 = 0; i2 < erji.size(); i2++) {
//                options2Items_01.add(erji.get(i2).getN());
//                System.out.println("!!!!!!!!!!!!!!!!!!!!!!!!!! "+erji.get(i2).getN());
//            }
//            options2Items.add(options2Items_01);
//            if (i1==data1.size()-1) {
//                ArrayList<String> options2Items_02=new ArrayList<>();
//                options1Items.add(new ProvinceBean(i1,"国外","",""));
//                options2Items_02.add("");
//                options2Items.add(options2Items_02);
//            }
//
//        }
//
//
//        //三级联动效果
//        optionsPickerView.setPicker(options1Items, options2Items, null, true);
//        //设置选择的三级单位
////        pwOptions.setLabels("省", "市", "区");
//        optionsPickerView.setTitle("选择城市");
//        optionsPickerView.setCyclic(false, true,false);
//        //设置默认选中的三级项目
//        //监听确定选择按钮
//        optionsPickerView.setSelectOptions(1, 1);
//        optionsPickerView.setOnoptionsSelectListener(new OptionsPickerView.OnOptionsSelectListener() {
//
//            @Override
//            public void onOptionsSelect(int options1, int option2, int options3) {
//                //返回的分别是三个级别的选中位置
////                         System.out.println("!!!!!!!!!!!!!!! "+data1.get(options1).getP());
//               String tx = options1Items.get(options1).getPickerViewText()
//                       + options2Items.get(options1).get(option2)
//                        ;
////                button.setText(tx);
////                vMasker.setVisibility(View.GONE);
//            }
//        });
//
//        return optionsPickerView;
//    }

//    private static TimePickerView pvCustomTime;
//
//    public static TimePickerView dateSelection(Context context, final onTimeSelect onTimeSelect) {
//
//        Calendar selectedDate = Calendar.getInstance();//系统当前时间
//
//
//            //时间选择器 ，自定义布局
//            pvCustomTime = new TimePickerView.Builder(context, new TimePickerView.OnTimeSelectListener() {
//                @Override
//                public void onTimeSelect(Date date, View v) {//选中事件回调
//                    if (onTimeSelect != null) {
//                        onTimeSelect.onTime(date);
//                    }
//                }
//            })
//                    .isCenterLabel(true)
//                    .setDate(selectedDate)
//                    .setRangDate(null, null)
//                    .setType(new boolean[]{true, true, true, false, false, false})
//                    .setLabel("年", "月", "日", "", "", "")
//                    .isCenterLabel(true) //是否只显示中间选中项的label文字，false则每项item全部都带有label。
//                    .setDividerColor(0xFF24AD9D)
//                    .build();
//        pvCustomTime.show();
//        pvCustomTime.show();
//        return pvCustomTime;
//
//    }






    public interface onPicker {

        /**
         * 城市选择器回调结果
         *
         * @param province
         * @param city
         * @param district
         */
        void setPicker(String province, String city, String district);
    }

    public interface onTimeSelect {

        void onTime(Date date);
    }






//    public static OptionsPickerView showCar(Context context, final List<String > constraint, final onPicker onPicker) {
//
//
//        OptionsPickerView pvNoLinkOptions = new OptionsPickerView.Builder(context, new OptionsPickerView.OnOptionsSelectListener() {
//
//            @Override
//            public void onOptionsSelect(int options1, int options2, int options3, View v) {
//                onPicker.setPicker(constraint.get(options1), "", "");
//            }
//        }).build();
//        pvNoLinkOptions.setNPicker(constraint, null, null);
//        pvNoLinkOptions.show();
//        return null;
//    }

}
